package com.mind.customer.mapper;

import com.mind.system.domain.AjReportResult;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 报告结果(AjReportResult)表数据库访问层
 *
 * @author makejava
 * @since 2024-07-28 13:55:40
 */
public interface AjReportResultMapper {

    /**
     * 查询报告结果数据集合
     * 
     * @param reportResult 报告结果信息
     * @return 报告结果数据集合
     */
    public List<AjReportResult> selectReportResultList(AjReportResult reportResult);

    /**
     * 通过报告结果ID查询报告结果信息
     * 
     * @param reportResultId 报告结果ID
     * @return 角色对象信息
     */
    public AjReportResult selectReportResultById(Long reportResultId);

    /**
     * 删除报告结果信息
     * 
     * @param reportResultId 报告结果ID
     * @return 结果
     */
    public int deleteReportResultById(Long reportResultId);

    /**
     * 批量删除报告结果信息
     * 
     * @param reportResultIds 需要删除的报告结果ID
     * @return 结果
     */
    public int deleteReportResultByIds(Long[] reportResultIds);

    /**
     * 修改报告结果信息
     * 
     * @param reportResult 报告结果信息
     * @return 结果
     */
    public int updateReportResult(AjReportResult reportResult);

    /**
     * 新增报告结果信息
     * 
     * @param reportResult 报告结果信息
     * @return 结果
     */
    public int insertReportResult(AjReportResult reportResult);
    
    /**
     * 批量新增报告结果信息
     * 
     * @param reportResultList 报告结果信息
     * @return 结果
     */
    public int insertReportResultBatch(List<AjReportResult> reportResultList);
    
    
    /**
     * 根据名称查报告结果
     *
     * @param name 报告结果名称
     * @return 结果
     */
    AjReportResult selectReportResultByName(String name);

    AjReportResult selectReportResultByTicketId(@Param("ticketId") String ticketId, @Param("version") Integer version);

    AjReportResult selectLastVersionByTicketId(String ticketId);

    AjReportResult selectByTicketId(@Param("ticketId") String ticketId, @Param("version") Integer version);
}

